#include<bits/stdc++.h>
using namespace std;

int to_int(string s){
    int res=0;
    int len=s.size();
    for(int i=0;i<s.size();++i){
        res = res + (s[i]-'0')*pow(10,len-i-1);
    }
    return res;
}

/* 时间限制： 3000MS
内存限制： 131072KB
题目描述：
小美最近迷上了22这个数字，一天，她发现他的一本书中有一个神秘的大数字。于是她想知道这个数字中有多少子串代表的数字能被22整除。


时间限制： 1000MS
内存限制： 65536KB
题目描述：
小美所在的城市有很多地铁站，地铁站之间由线路直接连接，组成了一个地铁网络。一天她突发奇想，把若干个地铁站的编号依次进行交换。请问在所有的交换结束之后，每个编号指向的地铁站直接相连接的地铁站一共有多少个？

两个地铁站之间可能有多条线路直接连接。但是不存在直接指向自己的线路。



输入描述
第一行三个数字n,m,q(1≤n,m,q≤105)，分别代表地铁站数量，直接连接的地铁路数量，交换数量。

接下来m行每行两个数字u,v(1≤u,v≤n)代表直接连接的两个地铁站编号。

接下来q行每行两个数字x,y(1≤x,y≤n)代表你要交换的两个点编号。

数字间均有空格隔开

输出描述
一行n个空格隔开的数字，每个数字代表与对应编号直接相连的地铁站一共多少个。


样例输入
5 5 3
1 2
2 3
3 4
4 5
1 4
2 5
1 2
3 4
样例输出
1 2 3 2 2


小美在听歌。歌单给小美推送了一个歌单序列，歌单中的歌会严格按顺序播放。

歌单中有很多歌曲，听每首歌曲会给小美带来ai点愉悦值。但是某些歌曲是一个系列的。如果小美在听这首歌曲之前没有按顺序听过这个系列的所有前面的歌曲，就会给小美带来-bi的愉悦值（即最后选择这首歌可获得的总愉悦值为ai-bi。）歌单并不会保证这首歌在系列中前面的歌曲都在歌单中。

因此，小美可以预先去除中间的一些歌曲，使得自己更加愉悦。由于去掉歌曲需要花费时间，所以每去掉一首歌曲都会让自己的愉悦值减小k。

由于歌单是智能的，所以其中不会包含重复的歌曲。

请问小美能获得的最大愉悦值是多少？



输入描述
第一行两个空格隔开的整数n,k(1≤n,k≤105)代表歌曲数量和删除歌曲减少的愉悦值。

接下来n行每行包括四个空格隔开的整数ai,bi,ci,di(1≤ai,bi,ci,di≤105)分别代表听这首歌获得的愉悦值，没有按顺序听完这个系列之前的歌所需要扣除的愉悦值，这首歌所在的系列，这首歌在系列中是第几首。

输出描述
输出一个数字代表小美能获得的最大愉悦值


样例输入
5 1
20 1000 1 2
1 1 1 1
5 3 1 3
20 1 2 2
22 2 2 3
样例输出
41


时间限制： 5000MS
内存限制： 655360KB
题目描述：
小美最近买了一个小火车，小火车的每一节车厢都可以用一个小写字母表示。小美想知道，对于火车的某个前缀，其第k短的周期的长度是几。

定义周期为：对于一个长度为n的字符串，如果有一个长度为k的周期，当且仅当其满足对于所有1≤i≤n-k，都有si=si+k成立。



输入描述
第一行一个字符串，字符串只由小写英文字母组成，长度最多为105。

第二行一个数字q(1≤q≤105)，代表询问的组数。

接下来q行，每行两个空格隔开的数字u(1≤u≤n),k(1≤k≤105)代表询问的前缀长度和周期次序k。

输出描述
对于每组询问输出一行一个整数代表长度为 u 的前缀的第 k 短的周期长度。如果k大于该前缀所有的周期数量，则输出一行一个整数 -1。


样例输入
abcabcabc
4
2 1
6 1
9 2
1 14514 */

int main(int argc, char const *argv[])
{
    string str;
    while(cin>>str){
        // int num = to_int(str);
        int len=str.size();
        int res=0;
        for(int i=0;i<len-1;++i){
            string s = "";
            s = s + str[i];
            // cout<<s<<endl;
            for(int j=i+1;j<len;++j){
                s = s + str[j];
                // cout<<s<<endl;
                // string s=str.substr(i,j-i+1);
                int num=to_int(s);
                // int num = to_int(s);
                if(num%22==0){
                    ++res;
                }
            }
        }
        cout<<res<<endl;
    }
    return 0;
}
